package com.wdemo.repository;

import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * @ClassName fileRepository
 * @Description TODO
 * @Author WDEMO
 * @Date 2025/9/2 21:59
 */
public interface FileRepository {
    /**
     * 保存文件,还要记录chatId与文件的映射关系
     * @param chatId 会话id
     * @param resource 文件
     * @return 上传成功，返回true； 否则返回false
     */
    boolean save(String chatId, Resource resource) throws IOException;


    /**
     * 保存文件,还要记录chatId与文件的映射关系
     * @param chatId 会话id
     * @param file 文件
     * @return 上传成功，返回true； 否则返回false
     */
    String saveByAliyun(String chatId, MultipartFile file) throws IOException;

    /**
     * 根据chatId获取文件
     * @param chatId 会话id
     * @return 找到的文件
     */
    Resource getFile(String chatId);

    /**
     * 根据chatId获取文件
     * @param chatId 会话id
     * @return 找到的文件
     */
    Resource getFileByAliyun(String chatId);

    /**
     * 根据chatId获取文件
     * @param chatId 会话id
     * @return 找到的文件
     */
    byte[] getFileBytes(String chatId);

}
